#ifndef SKYBOX_H
#define SKYBOX_H

#include <GL/glew.h>
#include <SFML/Graphics.hpp>
#include <SFML/OpenGL.hpp>
#include <string>
#include <iostream>
#include "Functions.h"

class SkyBox{

public:
    SkyBox(std::string sbFileName, GLuint shaderProg);
	~SkyBox();
    void render();
	void setScale(GLfloat x, GLfloat y, GLfloat z);

private:
    GLuint shaderProg;
	std::string skyFileName;
	void drawCube();
	void loadSkyBoxImages();
	GLfloat scaleX;
	GLfloat scaleY;
	GLfloat scaleZ;
	/*GLuint for use as Textures {Size = 1024*1024*3}*/
    GLubyte *topImage; //[1024][1024][3];
    GLubyte *farImage;
    GLubyte *bottomImage;
    GLubyte *rearImage;
    GLubyte *leftImage;
    GLubyte *rightImage;
    sf::Image *skyBoxImage;
	GLuint *texID;
    void configTexture();
};

#endif // SKYBOX_H
